Performing data synchronization is an important task in any system the processes and manages data. Synchronization is particularly important when a data volume residing in one location in a system is to be replicated and maintained on another part of the system for data security purposes. Replicated data volumes can be used, for example, for backup repositories, data stores, or in synchronous networks which can utilize multiple workstations requiring identical data storage.
File replication may include continually capturing write activity on a source computer and transmitting this write activity from the source computer to a destination or target computer in real-time or near real-time. A first step in some existing file replication systems, as illustrated in FIG. 1, is typically a synchronization process to ensure that the source data 22 at a source device and the destination data 24 at a destination storage device are substantially the same. That is, before a destination computer 28 can begin storing write activity associated with the source data 22 at a source computer 26, the system 20 may check to determine if the previously written source data 22 is stored at the destination computer 28, so restore points and other restore data may be updated and indexed.
The file replication, if not occurring in real-time, is scheduled to occur at particular intervals. Typically the scheduling is set by the administrator at a central location and the instructions are passed to servers responsible for coordinating the data transfer. The servers then communicate with client devices over a network (local (LAN), wide (WAN), Internet, etc.) triggering the backup or synchronization routine according to schedule. For example, certain levels of backup/storage can occur every night, every week or every month. Additionally, different devices and files on those devices can be scheduled at different intervals.
In recent years, more and more users are working on portable devices, such as Personal Digital Assistants (PDAs), Smart Phones, laptops and tablet computers. These devices may rarely be connected to the data storage network on the LAN. Thus, even though these devices are scheduled to be backed up, if the device is not on the LAN at the time the servers send the instructions, the data is not synchronized.
This presents a concern to system administrators and network operators, because portable devices are at higher risk of being lost or damaged and as such should be synchronized more often, not less. Hence, a need exists for scheduling portable devices so that the data on them is retrieved and stored in a timely manner and with minimum interruption to the user.